<%-- 
    Document   : admin
    Created on : 03-abr-2012, 1:50:13
    Author     : Borja
--%>

<%@page import="Principal.Productos_Aux"%>
<%@page import="Principal.Pedido"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.ArrayList"%>
<%@page import="Principal.Tienda"%>
<%@page import="Principal.Producto"%>
<%@page import="Principal.Cesta"%>
<%@page import="java.sql.*, javax.sql.*, javax.naming.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <title>En ca' Paqui</title>
        <link href="styles/styles.css" rel="stylesheet" type="text/css">
        <script src="scripts/jquery-1.7.js" type="text/javascript"></script>
        <script src="scripts/general.js" type="text/javascript"></script>  
        <script>
            $(document).ready(function() {
                    $("#texto").bind('keypress', function(event){
                    var opcion = $('#tipo option:selected').html();
                    if (opcion == "Precio") {
                        if ( (  (event.keyCode < 48) || (event.keyCode > 57)) && (event.keyCode != 13) && (event.keyCode != 46))
                            return false;
                    }
                });
                $("#precio").bind('keypress', function(event){
                    if ( (  (event.keyCode < 48) || (event.keyCode > 57)) && (event.keyCode != 13) && (event.keyCode != 46))
                        return false;
                });
            });
            function mostrarOperador(){
                var opcion = $('#tipo option:selected').html();
                    if (opcion == "Precio") 
                        $('#operador').css('display','initial');
                    else
                        $('#operador').css('display','none');
            }
        </script>
    </head>
    <body>
        <a id="titulo" href="/Tienda_bfernandezo_asanchezoliv/admin.jsp"><h1 id="titulo">Adminitración tienda virtual "En ca' Paqui"</h1></a> 
        <%  DataSource ds  ;
            Context context = new InitialContext();
            Context envCtx = (Context) context.lookup("java:comp/env");
            ds =  (DataSource)envCtx.lookup("jdbc/Tienda_bfernandezo_asanchezoliv");
            int opcion = 0;
            
            try{
                opcion = Integer.parseInt(request.getParameter("o"));
            }catch(Exception e){opcion = 0;}
            if (opcion == 0){%>

            <table class="opcionesAdmin" width="100%">
                <tr><td><h2><a href="/Tienda_bfernandezo_asanchezoliv/admin.jsp?o=1">Alta Producto</a></h2></td></tr>
                <tr><td><h2><a href="/Tienda_bfernandezo_asanchezoliv/admin.jsp?o=2">Baja Producto</a></h2></td></tr>
                <tr><td><h2><a href="/Tienda_bfernandezo_asanchezoliv/admin.jsp?o=3&mod=0">Modificar Producto</a></h2></td></tr>
                <tr><td><h2><a href="/Tienda_bfernandezo_asanchezoliv/admin.jsp?o=4">Pedidos</a></h2></td></tr>
            </table>
        <% } 
            if (opcion != 0){ %>
            <div class="supIzda">
                <h2 style="margin-top:-5px"><a class='btnIzda' href='/Tienda_bfernandezo_asanchezoliv/'>Inicio<br /></h2></a><br />
                <h2><a class='btnIzda' href='/Tienda_bfernandezo_asanchezoliv/admin.jsp'>Volver</a></h2>
            </div>
        <%} int mod = 0;
            int f = 0;
            int p = 0;
            
            try{
                mod = Integer.parseInt(request.getParameter("mod"));
            }catch(Exception e){mod=0;}

            if ( (opcion == 1) || (mod == 1) ){
                Producto producto = null;
                if (opcion == 3) {
                    try {    
                        f = Integer.parseInt(request.getParameter("f"));
                        p = Integer.parseInt(request.getParameter("p"));
                        producto = Tienda.getInstancia(ds).recogerProductoPorId(p, f);
                 }catch(Exception e){}
                }
        %>
               
            <div class="opcionesAdmin">   
                        <form method="get" action="/Tienda_bfernandezo_asanchezoliv/Gestion">
                            <table class="centrado" id="txtLeft"> 
                                <tr>
                                    <td>ID Producto:</td>
                                    <td><input type="text" name="idProducto" <% if(opcion ==3){ %> value="<% out.print(p);%>" readonly="READONLY" <% } %>/></td>  
                                </tr>
                                <tr>
                                    <td>ID Familia:</td>
                                    <td><select id="idFamilia" name="idFamilia" size="1"<% 
                                        if(opcion ==3){%> value="<% out.print(f);%>" DISABLED 
                                        <% } %>>
                                            <option value="1">Alimentación</option>
                                            <option value="2">Droguería</option>
                                            <option value="3">Prensa</option>
                                            <option value="4">Herramientas</option>                          
                                        </select>
                                    </td>
                                </tr>
                                <tr>
                                    <td>Nombre:</td>
                                    <td><input type="text" name="nombre" <% if(opcion ==3){ %> value="<% out.print(producto.getNombre());%>"<% } %>/></td>
                                </tr>
                                <tr>
                                    <td>Descripcion:</td>
                                    <td><input type="text" name="descripcion" <% if(opcion ==3){ %> value="<% out.print(producto.getDescripcion());%>"<% } %> /></td>
                                </tr>
                                <tr>
                                    <td>Precio:</td><td><input type="text" name="precio" id="precio" <% if(opcion ==3){ %> value="<% out.print(producto.getPrecio());%>"<% } %>/></td>
                                </tr>
                                <tr>
                                    <td>Stock:</td>
                                    <td><input type="text" name="stock" <% if(opcion ==3){ %> value="<% out.print(producto.getStock());%>"<% } %> /></td>
                                </tr>
                                <tr>
                                    <td>Fecha_Alta:</td>
                                    <td><input type="text" name="fechaAlta" readonly="readonly" value="<%
                                    if(opcion==1){
                                        java.util.Calendar fecha = java.util.Calendar.getInstance();
                                    
                                        out.print(fecha.get( java.util.Calendar.YEAR) + "/"
                                                + fecha.get(java.util.Calendar.MONTH)   + "/"
                                                + fecha.get(java.util.Calendar.DATE));
                                    }
                               else{
                                   out.print(producto.getFecha_Alta());
                               }
%>" /></td>
                                </tr>
                                <tr>
                                    <td>Nombre Imagen:</td><td><input type="text" name="imagen" <% if(opcion ==3){ 
                                        %> value="<% 
                                        out.print(producto.getImagen().substring(producto.getImagen().indexOf('/')+1));
                                    %>"<% } %> /></td>
                                </tr>                                
                                <tr>
                                    <td></td>
                                    <td><input type="submit" name="<%if (opcion == 1) out.print("Añadir");else out.print("Modificar");%>" value="<%if (opcion == 1) out.print("Añadir");else out.print("Modificar");%>" class="botonDerecha"/>
                                    </td>
                                </tr>                                                                    
                                </table> 
                                <input type="hidden" name="o" value="<% if(opcion ==3){ %>3<% }else{%>1<% } %>" />
                                <% if (opcion == 3) { %>
                                    <input type="hidden" name="mod" value="0" />
                                    <input type="hidden" name="idFamilia" value="<% out.print(f);%>" /> 
                                <%}%>
                        </form>
                                <% 
                                        try{
                                            if((Integer)request.getAttribute("error") == 1){ 
                    %>
                    <h3>El identficador de producto ya existe o está en blanco.</h3>
                    <%}
                                        }catch(Exception e){}%>
                </div>
            <%} if ((opcion == 2) || ( (mod == 0) && (opcion == 3))){ %>
            <div class="superior">
                <div class="categoria">
                    <b>Categoría</b>       
                        <p><a id ="sangria" href="admin.jsp?o=<%out.print(opcion);%>&t=1&categoria=1&mod=0">Alimentación</a> </p>
                        <p><a id ="sangria" href="admin.jsp?o=<%out.print(opcion);%>&t=1&categoria=2&mod=0">Droguería</a> </p>              
                        <p><a id ="sangria" href="admin.jsp?o=<%out.print(opcion);%>&t=1&categoria=3&mod=0">Prensa</a> </p>               
                        <p><a id ="sangria" href="admin.jsp?o=<%out.print(opcion);%>&t=1&categoria=4&mod=0">Herramientas</a>  </p>    
                </div>
                
                <div class="busqueda">  
                    <form name="Busqueda" action="admin.jsp" method="get" class="formBusqueda">
                        <b>Busqueda</b> 
                        <select id="tipo" name="t" size="1" onchange="$('#texto').attr('value','');mostrarOperador();">
                            <option name='t' value='2'>Nombre</option>
                            <option name='t' value='3'>Precio</option>
                        </select>
                        <select class ='operador' id="operador" name="operador" size="1">
                            <option value="1">menor que</option>
                            <option value="2">menor igual que</option>
                            <option value="3">igual que</option>
                            <option value="4">mayor o igual que</option>
                            <option value="5">mayor que</option>                            
                        </select>
                        <input id="texto" type="text" name="texto" value="" />
                        <input type="hidden" name="o" value="2" />
                        <input type="submit" value="Ir" name="Ir" />
                    </form>
                </div>
            </div>
            <div class="contenido">
            <%
            Producto[] productos = null;
        try {
            int aux = 0;
            String contenido = "";
            Tienda tienda = Tienda.getInstancia(ds);                        
            String parametros ="?o="+opcion+"&";
            if (opcion ==3) 
                parametros += "mod=1&";
            try{
                aux = Integer.parseInt(request.getParameter("t"));
            }catch(Exception e){
                try{
                    String aux1 = request.getParameter("t");    
                    if (aux1 =="Nombre")
                        aux = 2;
                    else if (aux1 == "Precio")
                        aux = 3;
                    else
                        aux = -1;
                    
                }catch(Exception e2){
                    aux = -1;                
                }
            }
            if (aux != -1)
                parametros += "t=" + aux;    
            
            switch(aux){
                case 1: 
                     try{
                        int idFamilia = Integer.parseInt(request.getParameter("categoria"));
                        parametros += "&categoria=" + idFamilia;    
                        productos = tienda.recogerProductoPorCategoria(idFamilia);
                     }catch(Exception e){System.out.println(e.getMessage());}
                    break;
                case 2: 
                        try {
                            String nombre = request.getParameter("texto");
                            parametros += "&texto=" + nombre; 
                            nombre = "%" + nombre + "%"; 
                            productos = tienda.recogerProductoPorNombre(nombre);
                        }catch(Exception e){System.out.println(e.getMessage());}
                        
                    break;                    
                case 3: 
                       try {
                            int operadorAux = Integer.parseInt(request.getParameter("operador"));
                            float precio = Float.parseFloat(request.getParameter("texto"));
                            parametros += "&texto=" + String.valueOf(precio).trim() + "&operador=" +  String.valueOf(operadorAux).trim();  
                            String operador = "=";
                            switch(operadorAux){
                                case 1:
                                    operador = "<";
                                    break;
                                case 2:
                                    operador = "<=";
                                    break;
                                case 3:
                                    operador = "=";
                                    break;
                                case 4:
                                    operador = ">=";
                                    break;
                                case 5:
                                    operador = ">";
                                    break;
                            }
                            productos = tienda.recogerProductoPorPrecio(precio, operador);
                        }catch(Exception e){System.out.println(e.getMessage());}
                        
                    break;                     
            }
            char comillas = '"';
            if (opcion == 2){
                try{
                    int c = Integer.parseInt(request.getParameter("c")); /*Si no da error es que vamos a eliminar un producto. Con error, es que c no existe */
                    f = Integer.parseInt(request.getParameter("f"));
                    p = Integer.parseInt(request.getParameter("p"));
                    Producto producto = tienda.recogerProductoPorId(p,f); 
                    tienda.eliminarProducto(p, f);
                                       

                    /* Fin añadir*/
                    String redirect = request.getRequestURI() + parametros;
                    response.sendRedirect(redirect);
                }catch(Exception e){}                
               }  
            String nombreBoton = "";
            if (opcion == 2)
                nombreBoton = "Dar de baja";
            else
                nombreBoton = "Modificar";
            try{
                for (Producto producto:productos){
                            contenido +="<div class='producto'>";
                            contenido +="<span>"+producto.getNombre()+"</span>";
                            contenido +="<br />";
                            contenido +="<img src='"+producto.getImagen()+"'class='imagenProducto'>";
                            contenido +="<br />";
                            contenido +="<div class='infoProducto'>";
                            contenido +="<span class='precio'>"+producto.getPrecio()+" € ";
                            contenido +="<input type='submit' value='"+nombreBoton+"' name='"
                                    +producto.getIdFamilia()+","
                                    +producto.getIdProducto()+"' onclick='javascript:window.location.replace("+ comillas +"/Tienda_bfernandezo_asanchezoliv/admin.jsp"
                                    + parametros + "&c=1" 
                                    + "&f=" + producto.getIdFamilia()
                                    + "&p=" + producto.getIdProducto()+ comillas +")'/>";
                            contenido +="</div></div>";
                            out.println(contenido);
                        }
            }catch(Exception e){System.out.println(e.getMessage());}
         }catch (Exception ex) {}
            %>
            <%}
          
        if (opcion == 4) {
            %><div class="opcionesAdmin">   
   
        <%
        int aux = 0;
        try{
            aux = Integer.parseInt(request.getParameter("pedido"));
        }catch(Exception e){aux = 0;}
        
        if (aux == 0){
            Pedido[] pedidos = Tienda.getInstancia(ds).recogerPedidos();
            for (Pedido pedido:pedidos){
                int idPedido = pedido.getIdPedido();
                String idUser = pedido.getIdUser();
                int entregado = pedido.getEntregado();
                Date fecha_Pedido = pedido.getFecha_Pedido();
                Date fecha_entrega = pedido.getFecha_entrega();
                %>
                
                                    <%
           
        %>
        <form method="GET" action="admin.jsp">
                    <table class='productoPedido'>
                        <tr>
                            <td width="50px;"><a><b><%out.print(idPedido);%></b></td>
                            <td width="100px;"><b><%out.print(idUser);%></b></td>
                            <td width="100px;"><b><%if(entregado == 1)out.print("Si");else out.print("No");%></b></td>
                            <td width="100px;"><input type="submit" name="Modificar" value="Modificar" /></td>
                        </tr>
                    </table>
                            <input type="hidden" name="pedido" value="<%out.print(idPedido);%>" />
                            <input type="hidden" name="o" value="4" />
        </form>
           
        <%
               }
            
        } else{
                String contenido = "";
                
                try{
                    int idPedido = Integer.parseInt(request.getParameter("pedido"));
                    Pedido pedido = Tienda.getInstancia(ds).recogerPedido(idPedido);
                    String idUser = pedido.getIdUser();
                    ArrayList<Productos_Aux> productos = pedido.getProductos();
                    int entregado = pedido.getEntregado();
                    System.err.println("6");
                    Date fecha_Pedido = pedido.getFecha_Pedido();
                    System.err.println("7");
                    Date fecha_entrega = pedido.getFecha_entrega();

                    int total = 0;
                    for (Productos_Aux productoAux:productos){
                        System.err.println("1");
                            Producto producto = Tienda.getInstancia(ds).recogerProductoPorId(productoAux.getIdProducto(), productoAux.getIdFamilia());
                            contenido +="<table class='productoCesta'>";
                            contenido +="   <tr>";                                
                            contenido +="       <td  rowspan='3' width='150px'><img src='"+producto.getImagen()+"'class='imagenProducto' /></td>";
                            contenido +="   </tr><tr>";
                            contenido +="       <td  colspan='2' rowspan='3' class='nombre'>"+producto.getNombre()+"</td>"; 
                            contenido +="       <td  class='cantidad'>Cantidad: " + productoAux.getCantidad()+"</td>";
                            contenido +="       <td  class='precio'> <b>Precio: "+producto.getPrecio()+" €</b> </td>";
                            contenido +="       <td><b>Total: "+(producto.getPrecio()*productoAux.getCantidad())+"€ </b>";
                            contenido +="       </td>";
                            contenido +="   </tr>";
                            contenido +="</table>"; System.err.println("1");
                            total += producto.getPrecio()*productoAux.getCantidad();                                                    
                        }
                    contenido +="<b>Total del pedido: " + total + "€</b><br />";
                    contenido +="<span class'rigth'> <form method='get' action='Pedidos'>"
                            + " <input type='hidden' name='do' value='1' />"
                            + " <input type='hidden' name='id' value='"+idPedido+"' />"
                            + " Marcar como entregado: <input type='submit'name='Entregado' value='Entregado' /> </span></div>";
                    out.println(contenido);
                }catch(Exception e){e.printStackTrace();}
                
            }    
        %>
            </div>
            <%}%>
        </div>
    </body>
</html>
     